package com.zzsz.service;

import cn.hutool.core.lang.tree.Tree;
import com.zzsz.domain.ProductsCategoriesInventoryVO;
import com.zzsz.domain.ZzszAddProductsDTO;
import com.zzsz.domain.ZzszProductCategories;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface InventoryService {
    /**
     * 库存列表
     * @param productsCategoriesInventoryVO
     * @return
     */
    List<ProductsCategoriesInventoryVO> list(ProductsCategoriesInventoryVO productsCategoriesInventoryVO);
    /**
     * 商品分类列表
     * @return
     */
    List<Tree<String>> getCategoryName();
    /**
     * 一级分类列表
     * @return
     */
    List<ZzszProductCategories> getCategoryName1V();
    /**
     * 二级分类列表
     * @return
     */
    List<ZzszProductCategories> getCategoryName2V();
    /**
     * 添加商品
     * @param zzszAddProductsDTO
     * @return
     */
    Long addProduct(ZzszAddProductsDTO zzszAddProductsDTO);
    /**
     * 添加商品添加商品图片上传功能
     * @param zzszAddProductsDTO
     * @return
     */
    int addProductV2(ZzszAddProductsDTO zzszAddProductsDTO, MultipartFile productImage);




    /**
     * 添加一级分类
     * @param productCategories
     * @return
     */
    int addCategory1(ZzszProductCategories productCategories);
    /**
     * 添加二级分类
     * @param productCategories
     * @return
     */
    int addCategory2(ZzszProductCategories productCategories);


    int addProductImg(Long productId, String imageUrl);

    /**
     * 添加库存
     * @param zzszAddProductsDTO
     * @return
     */
    Long addInStock(ZzszAddProductsDTO zzszAddProductsDTO);
}
